﻿
function mxlook_logs( block_id ) {
    this.vdiv = block_id;
    this.is = false;
}

mxlook_logs.prototype.show = function() 
{ 
    var a = this;
    if( !a.is ) { a.create(); a.is = true; } 
    else $('#gbox_'+a.vdiv).show();
};

mxlook_logs.prototype.hide = function() 
{ 
    $('#gbox_'+this.vdiv).hide(); 
};
    
mxlook_logs.prototype.create = function() 
{
var timerID;
var vdiv = this.vdiv;
var pager = $('#'+vdiv+'Pager');
var edit_in_process = 0;
var benable = { add:true, edit:false, del:false };
var mxtab;
var col_order = [0,1,2,3,4,5,6,7,8,9,10,11,12];
var col_names = ['ID','Время','Действие','Код','Отправитель','Получатель','Релей','IP_адрес','Приветствие','SMTP_ID','Модуль'];
var col_model = [
		{name:'id', index:'rec_id', hidden: false, width:80, editable: false, fixed: true },
		{name:'tmstamp', index:'tmstamp', hidden: false, width:150, editable: false },
		{name:'action', index:'action', hidden: false, width:120, editable: false },
		{name:'reason', index:'reason', hidden: false, width:50, editable: false },
		{name:'mfrom', index:'mfrom', hidden: false, width:250, editable: false },
		{name:'mrcpt', index:'mrcpt', hidden: false, width:250, editable: false },
		{name:'host', index:'host', hidden: false, width:250, editable: false },
		{name:'ip', index:'ip', hidden: false, width:100, editable: false },
		{name:'helo', index:'helo', hidden: false, width:250, editable: false },
		{name:'smtpid', index:'smtpid', hidden: false, width:150, editable: false },
		{name:'module', index:'module', hidden: false, width:100, editable: false }
    ];
//            search:true, stype:'select', searchoptions:{value:""},},

var jqgo = {
	url:'stat/mxl-get.php',
	datatype: 'json',
    emptyrecords: true,
	autowidth: false,
	scrollOffset: 22,
// 1
	gridview: false,
    hidegrid: false,
	hoverrows: true,
	recordpos: 'right',
	scrollrows: true,
	viewrecords: true,
	multiselect: true,
	multiselectWidth: 40,
	multiboxonly: true,
	mtype: 'GET',
    width: 998,
    shrinkToFit: false,
	colNames: col_names,
	colModel: col_model,
    page: 1,
	pager: pager,
    loadui: 'disable',
	toolbar: [true,'both'],
    filterbar: false,
	height: 550,
	rowNum:25,
	rowList:[23,24,25,100,500],
	sortname: 'rec_id',
	sortorder: 'asc',
	sortable: true,
	caption: 'Таблица событий Анти-Спам защиты',
    gridComplete: function() { 
        alert("gridComplete"); 
    },
    loadError: function() { 
            location.href = 'index.php'; 
        },
    loadComplete: function(data) {
            if( !$.isPlainObject(data) ) {
                alert( "Ваша сессия закончилась по таймауту.\nПожалуйста перерегистрируйтесь." );
                location.href = 'index.php';
            }
        },
	onPaging: function( pgButton ) {},  
	onSelectAll: function(ids, status) {},
	onSelectRow: function(id, status){},

	ondblClickRow: function(id, irow){}
};
// End of jqGrid construct

$.jqm.params.overlay = 1;

// Восстановим настройки
//RestTabSetings();

// Создадим jqGrid
mxtab = $('#'+vdiv).jqGrid( jqgo );

// Восстановим порядок столбцов
mxtab.remapColumns(col_order, true, false );

// Навигатор - обновить
mxtab.jqGrid('navGrid', '#'+vdiv+'Pager', {
	add: false, del: false, edit: false, search: false,
	refreshtext:'Обновить',
	afterRefresh: function() {
			mxtab.resetSelection();
		}
	}
);

// Пользовательский навигатор - выбор столбцов
mxtab.jqGrid('navButtonAdd','#'+vdiv+'Pager',{
    caption: 'Столбцы',
    title: 'Выбор отображаемых столбцов',
    buttonicon: 'ui-icon-calculator',
    onClickButton: function(){
            mxtab.setColumns({
                width: 250,
                modal: true,
                jqModal: true,
                closeOnEscape: true,
                colnameview: false,
                updateAfterCheck: true
            });
    }
});
     
// Пользовательский навигатор - вкл/выкл. тулбар фильтра
mxtab.jqGrid('navButtonAdd','#'+vdiv+'Pager',{
    caption: 'Фильтр',
    title: 'Включить тулбар фильтра',
    buttonicon: 'ui-icon-search',
    onClickButton: function() { 
        mxtab.setGridParam({filterbar:!mxtab.getGridParam('filterbar')});
		mxtab[0].toggleToolbar();
	}
});
     
// Пользовательский навигатор - сохранить настройки отобр.таблицы
mxtab.jqGrid('navButtonAdd','#'+vdiv+'Pager',{
    caption: 'Сохранить',
    title: 'Сохранить настройки таблицы',
    buttonicon: 'ui-icon-disk',
//    onClickButton: SaveTabSetings
    onClickButton: function() {}
});

function SaveTabSetings(){
var grp = mxtab.getGridParam();
var co = new Array();
var cw = new Array();
var ch = new Array();
var ce = new Array();

for( k=0; k<col_model.length; k++ ) {
    for( i=1; i<grp.colModel.length; i++ ) {
        if( col_model[k].name == grp.colModel[i].name ) {
            co[i-1] = k+1;
            cw[k] = grp.colModel[i].width;
            ch[k] = grp.colModel[i].hidden;
            ce[k] = grp.colModel[i].editable;
            break;
        }
    }
}

var dataset = {
    oper:       "saveset",
    sortname:   grp.sortname,
    sortorder:  grp.sortorder,
    rownum:     grp.rowNum,
    page:       grp.page,
    filterbar:  grp.filterbar,
    colorder:   co,
    colwidth:   cw,
    colhidden:  ch,
    coledit:    ce
};

                          
    $.post('stat/mxl-saveset.php', dataset, function( rsp, textStatus)
    {
        if( rsp.errcode ) {
            if( rsp.errcode == '999' ) {
                alert( "Ваша сессия закончилась по таймауту.\nПожалуйста перерегистрируйтесь." );
                location.href = 'login.php';
            }
            else
                ipdepo.alert('AlertDlg', 'Ошибка', rsp.errmess, 'ipdepo-icon-stop32');
        }
        else
            ipdepo.alert('AlertDlg', 'Сообщение', rsp.errmess, 'ipdepo-icon-info32');
    }, 'json');
}     

function RestTabSetings(){
var dataset = { oper: "restset" };
    $.ajaxSetup({async: false });
    
    $.post('stat/mxl-restset.php', dataset, function( rsp, textStatus)
    {
        $.ajaxSetup({async: true });

        if( rsp.errcode ) {
            if( rsp.errcode == '999' ) {
                alert( "Ваша сессия закончилась по таймауту.\nПожалуйста перерегистрируйтесь." );
                location.href = 'login.php';
            }
            else
                ipdepo.alert('AlertDlg', 'Ошибка', rsp.errmess, 'ipdepo-icon-stop32');
        }

        if( $.isPlainObject(rsp.data) ) {
            if(rsp.data.sortname)
                jqgo.sortname = rsp.data.sortname;
            if(rsp.data.sortorder)
                jqgo.sortorder = rsp.data.sortorder;
            if(rsp.data.rownum)
                jqgo.rowNum = rsp.data.rownum;
            if(rsp.data.page)
                jqgo.page = rsp.data.page;
            if(rsp.data.filterbar)
                jqgo.filterbar = rsp.data.filterbar;
            if(rsp.data.actlist) {
                jqgo.colModel[2].searchoptions.value = '999:Все;'+rsp.data.actlist;
            }
            
            for( i=0; i<rsp.data.colwidth.length; i++ )
                jqgo.colModel[i].width = rsp.data.colwidth[i];
            for( i=0; i<rsp.data.colhidden.length; i++ )
                jqgo.colModel[i].hidden = rsp.data.colhidden[i];
            for( i=0; i<rsp.data.coledit.length; i++ )
                jqgo.colModel[i].editable = rsp.data.coledit[i];
            for( i=0; i<rsp.data.colorder.length; i++ )
                col_order[i+1] = rsp.data.colorder[i];
        }
        rest_done = true;
    }, 'json');
    
}     

// Создадим InlineSearch

mxtab.filterToolbar({
	afterSearch:function() {}
});

if( !mxtab.getGridParam('filterbar') )
 mxtab[0].toggleToolbar();

// ToolBar
var tmxtab = $("#t_"+vdiv);

tmxtab.height(40);

};  // End of create function definition
